package com.bnz.listener;

import javax.servlet.ServletRequestAttributeEvent;
import javax.servlet.ServletRequestAttributeListener;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.annotation.WebListener;

/**
 * 请求监听器
 */

@WebListener
public class MyRequestListener implements ServletRequestAttributeListener, ServletRequestListener {
    /**
     * 1-2方法，是监控请求对象
     * @param sre
     */
    // 1、请求对象的初始化
    @Override
    public void requestInitialized(ServletRequestEvent sre) {
        System.out.println("(监听)请求对象初始化");
    }

    // 2、请求对象的销毁
    @Override
    public void requestDestroyed(ServletRequestEvent sre) {
        System.out.println("(监听)请求对象的销毁");
    }

    /**
     * 3-5方法，是监控请求对象中，属性值的改变
     * @param srae
     */
    // 3、属性值的添加
    @Override
    public void attributeAdded(ServletRequestAttributeEvent srae) {
        System.out.println("(监听)请求属性的添加");
    }

    // 4、属性值的移除
    @Override
    public void attributeRemoved(ServletRequestAttributeEvent srae) {
        System.out.println("(监听)请求属性的移除");
    }

    // 5、属性值的替换
    @Override
    public void attributeReplaced(ServletRequestAttributeEvent srae) {
        System.out.println("(监听)请求属性的替换");
    }


}
